//
// Created by oren.huang on 9/29/23.
//


#pragma once
#include "lpc/LidarFrame.pb.h"
#include <functional>

class IReplayImpl {
public:
    virtual ~IReplayImpl() = default;
    virtual void start(const std::function<void(std::shared_ptr<lpc::LidarProtoPointCloud>&&)>&,const long long int& time) = 0;
    virtual void stop() = 0;
    virtual bool isComplete() = 0;
    virtual void doRepeat() = 0;
    virtual uint64_t getFirstFrameTm() = 0;
};

